/**
 * @author qiumengyao
 * @version 1.0
 * @date 2025/8/15
 */
package com.ychs.lawyerback.mapper;


import com.ychs.lawyerback.dto.DocumentQueryDTO;
import com.ychs.lawyerback.pojo.DocumentEntity;
import com.ychs.lawyerback.vo.DocumentQueryVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface DocumentMapper {


    List<DocumentEntity> selectByLawyerIds(@Param("lawyerIds") List<Long> lawyerIds);
    // 删除文件记录
    int deleteById(Long id);

    /**
     * 上传文件
     * @param record
     */
    void insert(DocumentEntity record);

    /**
     * 查询文件
     * @param
     * @return
     */
    List<DocumentEntity> getDocumentsByCondition(DocumentQueryDTO queryDTO);

    /**
     * 总记录数
     * @param documentQueryDTO
     * @return
     */
    int getCountByCondition(DocumentQueryDTO documentQueryDTO);

    // 添加以下方法
    /**
     * 获取待审核文件
     */

    // 新增这行：声明查询待审核文件的方法
    List<DocumentEntity> getPendingDocuments(DocumentQueryDTO queryDTO);

    /**
     * 更新文件状态
     */
    int updateStatus(DocumentEntity document);

    DocumentEntity selectById(Long fileId);

    DocumentEntity selectByFileName(String fileName);

    void deleteByLawyerIdAndType(Long lawyerId, Integer fileType);

    void deleteByFileNameAndType(@Param("fileName") String fileName,
                                 @Param("fileType") Integer fileType);
}